package com.mlk.engUser.service;

import com.mlk.core.component.page.Pager;
import com.mlk.core.util.ServerResponse;
import com.mlk.engUser.po.EngUser;
import com.mlk.engUser.po.EngUserAddress;
import com.mlk.engUser.po.EngUserRemainVerify;
import com.mlk.engUser.vo.EngUserRemainVO;
import com.mlk.engUser.vo.EngUserVO;
import org.springframework.web.multipart.MultipartFile;

import java.math.BigDecimal;

public interface EngUserService {

    ServerResponse register(EngUser user,Integer verifyCode);

    ServerResponse uploadShopPic(String openId, MultipartFile[] files,int type);

    ServerResponse modifyPassword(String openId, String newPassword);

    ServerResponse checkIsRegistered(String openId);

    ServerResponse addAddress(EngUserAddress engUserAddress);

    ServerResponse addressList(String openId);

    ServerResponse updateDefaultAddress(String openId, Integer id);

    ServerResponse updateUserAddress(EngUserAddress engUserAddress);

    ServerResponse getPhoneVerifyCode(String phone);

    ServerResponse deleteAddress(Integer id);

    ServerResponse findTotalIncome(String openId);

    Pager findTotalIncomeDetail(String openId);

    ServerResponse applyRemain(String openId, BigDecimal amount,Integer cardId);

    Pager verifyList(EngUserRemainVerify bean);

    Pager clientList(EngUserVO engUser);

    Pager userRemainList(EngUserRemainVO vo);

    ServerResponse getUserCurrentScore(String openId);

    ServerResponse getUserCurrentRemain(String openId);

    /**
     * 用户数据导出
     */
    void export();

    /**
     * 获取默认地址
     * @param openId
     * @return
     */
    ServerResponse getDefaultAddress(String openId);
}
